package com.ucode.model.hrm;

import com.ucode.tool.base.BaseMode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDate;
import java.util.List;

/**
 * 节假日配置实体
 * @Author: liliang
 * @Date: 2025/10/9 22:01
 * @Version: 1.0
 */
@Schema(description = "人力资源管理系统 - 节假日配置")
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class HrmHolidayConfig extends BaseMode<Long> {

    /**
     * 年份
     */
    private int yearnum;

    /**
     * 节假日列表
     */
    private List<Holiday> holidays;

    @Data
    public static class Holiday {
        /**
         * 节假日名称，例如：春节 春节调休
         */
        private String name;

        /**
         * 节假日日期
         */
        private LocalDate date;
        /**
         * 是否是休息日
         */
        private boolean isOffDay;
        /**
         * 节假日类型:
         * NATIONAL 法定节假日 EXTRA_WORK 法定节假日调休（工作日）
         */
        private String type;
    }
}
